// import 'dart:io';
//
// import 'package:flutter/material.dart';
// import 'package:flutter_fancy_tree_view/flutter_fancy_tree_view.dart';
// import 'package:super_study_english_tool/dao/dao_user_album.dart';
// import 'package:super_study_english_tool/panel/panel_main_album_media_list.dart';
// import 'package:super_study_english_tool/widget/widget_album.dart';
//
// import '../../model/model_user_album.dart';
// import '../../service/service_user_album.dart';
// import 'package:file_picker/file_picker.dart';
//
// class PanelMainLocal extends StatefulWidget {
//   const PanelMainLocal({super.key});
//
//   @override
//   State<PanelMainLocal> createState() => _PanelMainLocalState();
// }
//
// class _PanelMainLocalState extends State<PanelMainLocal> {
//   late final TreeController<TreeNode> treeController;
//
//   List<ModelUserAlbum> albums = [];
//
//   List<TreeNode> treeRoots = <TreeNode>[
//     TreeNode(title: "需要复习"),
//     TreeNode(title: "最近学习"),
//     TreeNode(title: "最新添加"),
//     TreeNode(title: "所有"),
//   ];
//
//   @override
//   void initState() {
//     super.initState();
//     treeController = TreeController(roots: treeRoots, childrenProvider: (TreeNode node) => node.children);
//
//     refreshAlbums();
//   }
//
//   @override
//   Widget build(BuildContext context) {
//     return Container(
//       color: Colors.white,
//       child: Row(
//         children: [
//           // 1. 左侧树
//           buildLeftTree(),
//           // 2. 有些列表
//           buildRightPanel(),
//         ],
//       ),
//     );
//   }
//
//   buildLeftTree() {
//     // 需要复习(0) 最近学习 最新添加 所有
//     // 筛选: 有需要复习 已完成
//     // 排序: 最近学习时间  添加时间
//     return Container(
//         color: Colors.amberAccent,
//         width: 150,
//         child: TreeView(
//             treeController: treeController,
//             nodeBuilder: (BuildContext context, TreeEntry<TreeNode> entry) {
//               return TreeTile(
//                 key: ValueKey(entry.node),
//                 entry: entry,
//                 onTap: () {
//                   print("onTap");
//                   print(entry.node.title);
//                   return treeController.toggleExpansion(entry.node);
//                 },
//               );
//             }));
//   }
//
//   //
//   buildList() {
//     return Expanded(
//         child: ListView.builder(
//             itemCount: albums.length,
//             itemExtent: 50.0, //强制高度为50.0
//             itemBuilder: (BuildContext context, int index) {
//               String name = albums[index].name!;
//               return WidgetAlbum(
//                 album: albums[index],
//                 onPressed: (id) {
//                   print(id);
//
//                   Navigator.of(context).push(MaterialPageRoute(builder: (context) {
//                     return PanelAlbumMediaList(
//                       albumId: id,
//                     );
//                   }));
//                 },
//               );
//               // ListTile(title: Text("$name"));
//             }));
//   }
//
//   buildRightPanel() {
//     return Expanded(child: Column(children: [buildTools(), buildList()]));
//
//     // return Expanded(
//     //   // height: 350,
//     //   // width: 300,
//     //   child: Navigator(
//     //     initialRoute: '/',
//     //     onGenerateRoute: (RouteSettings settins) {
//     //       WidgetBuilder? builder;
//     //       switch (settins.name) {
//     //         case '/':
//     //           builder = (context) => Column(children: [buildTools(), buildList()]);
//     //           break;
//     //       }
//     //       return MaterialPageRoute(builder: builder!);
//     //     },
//     //   ),
//     // );
//   }
//
//   buildTools() {
//     return Container(
//         height: 30,
//         color: Colors.lightBlueAccent,
//         child: Row(
//           children: [
//             TextButton(
//                 onPressed: () {
//                   // 0. 弹出提示信息
//                   //    选择包含媒体文件的文件夹，里面应该有一个或者多个视频文件和字母文件
//                   // 1. 弹出选择文件夹
//                   // 2. 选择文件夹
//                   // 3. 读取文件夹中文件列表,获取信息
//                   // 4. 保存信息
//                   // 4.1 保存文件夹信息（文件夹名 文件路径 文件夹内媒体信息)
//                   // 4.2 文件夹中媒体文件列表信息
//                   showDialog(
//                       context: context,
//                       builder: (BuildContext context) {
//                         return AlertDialog(
//                           title: Text("添加文件说明"),
//                           content:
//                               Text("1. 选择包含媒体文件的文件夹添加.\n2. 文件夹内应包含媒体文件(MP4、MP3)和字幕文件(.srt)\n3. 本软件会记录文件夹路径，但不会复制。"),
//                           actions: [
//                             TextButton(
//                                 onPressed: () {
//                                   Navigator.of(context).pop();
//                                 },
//                                 child: Text("取消添加")),
//                             TextButton(
//                                 onPressed: () async {
//                                   Navigator.of(context).pop();
//                                   // FilePickerResult? result = await FilePicker.platform.pickFiles();
//                                   // print(result);
//                                   //
//                                   // if (result != null) {
//                                   //   File file = File(result.files.single.path!);
//                                   // } else {
//                                   //   // User canceled the picker
//                                   // }
//                                   String? selectedDirectory = await FilePicker.platform.getDirectoryPath();
//
//                                   if (selectedDirectory != null) {
//                                     // User canceled the picker
//                                     print(selectedDirectory);
//
//                                     ServiceUserAlbum.addUserAlbum(selectedDirectory);
//                                     refreshAlbums();
//                                   }
//                                 },
//                                 child: Text("确认添加"))
//                           ],
//                         );
//                       });
//                 },
//                 child: Text("添加专辑")),
//             TextButton(
//                 onPressed: () {
//                   refreshAlbums();
//                 },
//                 child: Text("刷新"))
//           ],
//         ));
//   }
//
//   int type = 0;
//   void refreshAlbums() {
//     // 1.
//     if (type == 0) {
//       // 查询所有
//       albums = ServiceUserAlbum.list();
//     } else if (type == 1) {
//       // 查询最新添加
//       albums = ServiceUserAlbum.list();
//     } else if (type == 2) {
//       // 查询需要复习
//       albums = ServiceUserAlbum.listNeedReview();
//     } else if (type == 3) {
//       // 最近学习
//       albums = ServiceUserAlbum.listLastStudy();
//     }
//
//     setState(() {});
//   }
// }
//
// class TreeTile extends StatelessWidget {
//   const TreeTile({super.key, required this.entry, required this.onTap});
//
//   final TreeEntry<TreeNode> entry;
//   final VoidCallback onTap;
//
//   @override
//   Widget build(BuildContext context) {
//     return InkWell(
//       onTap: onTap,
//       child: TreeIndentation(
//         entry: entry,
//         guide: const IndentGuide.connectingLines(indent: 48),
//         child: Padding(
//           padding: const EdgeInsets.fromLTRB(4, 8, 8, 8),
//           child: Row(
//             children: [Text(entry.node.title)],
//           ),
//         ),
//       ),
//     );
//   }
// }
//
// class TreeNode {
//   TreeNode({required this.title, this.children = const <TreeNode>[]});
//
//   final String title;
//   final List<TreeNode> children;
// }
